package Renderer;


import GameLogic.Background;
import GameLogic.EntityCoordinate;
import GameLogic.EntityModel;


import java.util.List;

public interface Renderer {

    public int LoadObject(EntityModel Model);   //returns model ID
    public double GetAspectRatio();
    public void DrawFrame(List<EntityCoordinate> Coordinates, double ScreenCentreX, double ScreenCentreY);
    public boolean DeleteModel(int ID); //returns true when model was succesfully deleted, false if not, or model does not exist
    public void LoadSettings(RendererSettings settings);
    public void LoadProjectionSettings(ProjectionSettings settings);
    public int LoadBackground(Background background);
    public boolean DeleteBackgrund( int BackgroundID);
    public void DrawHud(HUD hud);
    public void DrawWindows(List<Window> windows);
    public void Cleanup();
    public int LoadFont(String fontPath);
    public boolean DeleteFont(int FontID);

}
